課程資訊
課程名稱
機器學習
Machine Learning 
開課學期
109-1 
授課對象
電機資訊學院  電機工程學研究所  
授課教師
吳沛遠 
課號
EE5184 
課程識別碼
921 U2620 
班次
 
學分
4.0 
全/半年
半年 
必/選修
選修 
上課時間
星期五2,3,4,5(9:10~13:10) 
上課地點
博理113 
備註
初選不開放。需能力檢定,https://ml.ntu.edu.tw/exam.html。資訊安全碩士班必修。與林宗男、李宏毅合授
總人數上限:80人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1091EE5184_ 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

重要注意事項:修習本課程需先通過先備能力檢定(報名網址: https://ml.ntu.edu.tw/exam.html),通過檢定者將取得授權碼。
Important Notice: A prerequisite exam (Registration website: https://ml.ntu.edu.tw/exam.html) has to be taken to be eligible to get enrolled in this course.

你可能已經修過和計算機程式相關的課程,能夠設計程式讓電腦處理一些簡單的問題,但你有沒有想過,那些能處理非常複雜問題的程式,究竟是如何設計出來的呢?

例如:Gmail 如何知道一封郵件是否為垃圾郵件?Facebook 如何知道一張相片是否包含人臉? Siri如何聽懂並回答使用者的問題?人類製作出來的Alpha Go為什麼可以比職業棋士還強呢?

事實上,這些程式中的演算法並非由人類直接設計,而是由人類寫出演算法,讓機器能根據資料來學習,讓機器自動由大量的資料、過去的經驗,找出可以處理這些問題的方法。

舉例來說,如果我們想讓機器偵測一封郵件是否為垃圾郵件,我們可以讓機器「看過」大量的郵件,並「告知」機器哪些是垃圾郵件、哪些不是,機器就可以利用這些資訊,自動建構出偵測垃圾郵件的模型,當收到新的郵件時,機器便根據所學的模型,去偵測它是否為垃圾郵件。如何設計出讓機器自動學習的演算法,就是「機器學習」這個領域在探討的問題。

本課程(108 學年度上學期)將由吳沛遠教授、李宏毅教授和林宗男教授共同合授,由吳沛遠教授主授,負責授課與作業規劃。 

課程目標
本課程旨在介紹機器學習使用者都應該知道的基本機器學習理論、方法和工具,期望透過這門課,讓學生對機器學習的技術,有更系統性的認識,並具備實作這些技術的基本能力,以期在未來能將這些技術活用到各自的專業領域中。

課程內容:(參考用,將視實際情況適當增減)
1. Regression; Bias and Variance Errors
2. Classification; Logistic Regression
3. Dimensionality Reduction: Principle Component Analysis; Neighbor Embedding; Auto-Encoder
4. Semi-Supervised Learning
5. Neural Network Introduction: Gradient Decent; Back Propagation
6. Convolution/Recurrent Neural Network
7. Ensemble
8. Transfer Learning
9. Support Vector Machine; Convex optimization and Duality
10. Expectation Maximization
11. Generalization Error: Rademacher complexity and VC dimension
12. Generative Adversarial Network
13. Matrix Factorization 
課程要求
重要注意事項:修習本課程需先通過先備能力檢定(報名網址: https://ml.ntu.edu.tw/exam.html),通過檢定者將取得授權碼。
Important Notice: A prerequisite exam (Registration website: https://ml.ntu.edu.tw/exam.html) has to be taken to be eligible to get enrolled in this course.

需具備基本的程式設計能力。理論上,電機系大三以上的學生即具備修習本課程所需的基本能力,建議可以同時選修資料結構和演算法相關課程,以加強程式能力。 
預期每週課後學習時數
 
Office Hours
 
指定閱讀
待補 
參考書目
1. Introduction to Machine Learning, second edition, Ethem ALPAYDIN
2. Pattern Recognition and Machine Learning, Christopher M. Bishop
3. Learning from Data, Yaser S. Abu-Mostafa , Malik Magdon-Ismail, Hsuan-Tien Lin 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題
第1週
09/17  Introduction; Regression; Bias and Variance Errors 
第2週
09/25  Linear Model Classification: Probabilistic Generative Model, Logistic Regression 
第3週
09/26  Neural Networks: Introduction, Gradient Decent and Back Propagation, Tips, Implementation 
第4週
10/16  Back Propagation, Deep Learning Tips; 
第5週
10/23  Convolution Neural Network 
第6週
10/30  Dimensionality Reduction: Principle Component Analysis 
第7週
11/06  Auto encoder, Neighbor Embedding 
第8週
11/13  Ensemble: Random forest, AdaBoost 
第9週
11/20  全校運動會停課(依教務處9/30更正通知) 
第10週
11/27  Gaussian Mixture Model and Expectation Maximization 
第11週
12/04  Variational Auto-Encoder
Semi-Supervised Learning 
第12週
12/11  Support Vector Machine - Introduction, Optimization and Kernel 
第13週
12/18  Strong Duality Theorem
Support Vector Machine: Formal dual form 
第14週
12/25  Probably Approximately Correct Learning